home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / netinet / in_var.h < prev    next >
C/C++ Source or Header  |  1988-06-29  |  2KB  |  55 lines

  1. /*
  2.  * Copyright (c) 1985, 1986 Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that this notice is preserved and that due credit is given
  7.  * to the University of California at Berkeley. The name of the University
  8.  * may not be used to endorse or promote products derived from this
  9.  * software without specific prior written permission. This software
  10.  * is provided ``as is'' without express or implied warranty.
  11.  *
  12.  *    @(#)in_var.h    7.2 (Berkeley) 12/7/87
  13.  */
  14.  
  15. #ifndef _IN_VAR
  16. #define _IN_VAR
  17.  
  18. /*
  19.  * Interface address, Internet version.  One of these structures
  20.  * is allocated for each interface with an Internet address.
  21.  * The ifaddr structure contains the protocol-independent part
  22.  * of the structure and is assumed to be first.
  23.  */
  24. struct in_ifaddr {
  25.     struct    ifaddr ia_ifa;        /* protocol-independent info */
  26. #define    ia_addr    ia_ifa.ifa_addr
  27. #define    ia_broadaddr    ia_ifa.ifa_broadaddr
  28. #define    ia_dstaddr    ia_ifa.ifa_dstaddr
  29. #define    ia_ifp        ia_ifa.ifa_ifp
  30.     u_long    ia_net;            /* network number of interface */
  31.     u_long    ia_netmask;        /* mask of net part */
  32.     u_long    ia_subnet;        /* subnet number, including net */
  33.     u_long    ia_subnetmask;        /* mask of net + subnet */
  34.     struct    in_addr ia_netbroadcast; /* broadcast addr for (logical) net */
  35.     int    ia_flags;
  36.     struct    in_ifaddr *ia_next;    /* next in list of internet addresses */
  37. };
  38. /*
  39.  * Given a pointer to an in_ifaddr (ifaddr),
  40.  * return a pointer to the addr as a sockadd_in.
  41.  */
  42. #define    IA_SIN(ia) ((struct sockaddr_in *)(&((struct in_ifaddr *)ia)->ia_addr))
  43. /*
  44.  * ia_flags
  45.  */
  46. #define    IFA_ROUTE    0x01        /* routing entry installed */
  47.  
  48. #ifdef    KERNEL
  49. struct    in_ifaddr *in_ifaddr;
  50. struct    in_ifaddr *in_iaonnetof();
  51. struct    ifqueue    ipintrq;        /* ip packet input queue */
  52. #endif
  53.  
  54. #endif _IN_VAR
  55.